The present invention relates generally to an amplitude scale of an output signal, and more specifically, to dynamically setting the increments on an amplitude scale of an output signal.
Many portable audio devices such as MP3 players and smart phones deliver sound to the user of the device through headphones. In many cases, the input controls provided to the user are “up” and “down” controls. In situations where the designer of the device has chosen this input method, the designer typically divides the range of volumes available to the user into a number of fixed levels, or increments. When the user presses the “up” and “down” buttons on the device then the audio output volume traverses the increments on the scale.
Accordingly, the designer must decide how many increments to include for the volume scale. If the engineer puts on too many increments, then the volume scale will be too difficult for a user to traverse. Conversely, if the designer puts on too few increments, then there may be situations where a user cannot find a volume level appropriate for them because at one increment the volume is too quiet, and at the next increment the volume is too loud. A volume scale with a fine level of control is desirable by users, and so this tension is something that must be taken into account by the designer.
Increment spacing is further compounded when background noise is taken into account. In a perfect scenario, there would be no background noise, and so the user would happily be able to listen to the audio at any increment on the scale. However, there is often a level of background noise that must be taken into account. When this background noise is very loud, users will probably not care about the quiet volume options available to them.
In general, increments below the level of background noise are unnecessary. Often, there is a level of volume slightly above the background level, and after that the next available volume level is significantly further away, with no middle ground. The original designer of the volume scale may have intended there to be a nice even progression of volume levels, but due to the logarithmic nature of volume, the actual effect when taking background noise into account can produce a spacing of increments that is sub-optimal. Hence a hard-coded volume scale, while seemingly simple and sufficient, leaves much to be desired.
A further problem can occur when a user transitions between two locations with different levels of background noise. After transitioning, the level of volume selected by the user may no longer be the level of volume desired by the user. For example, in a quiet environment, such as waiting at a bus stop, the volume level set by the user might be at a quiet level. After transitioning to a noisier environment, such as getting onto a bus, the desired volume level might be further up the volume scale, to counteract the background noise.
A common and well-known example of dealing with this problem is the use of dynamic volume controls. These systems automatically adjust the volume of the audio playing based upon the level of background noise. It is a common feature found in modern cars. Dynamic volume controls also have a number of drawbacks. When an automatic volume adjustment is made, it is often noticeable and often unwanted or too extreme. However intelligent the system may be, an automatic adjustment typically presents a compromise to the user between maintaining an audible level of sound, but not making too drastic a change. A frequent issue is that the volume adjustment may be an unwanted change, and require user intervention.